package cn.lcsjsxy.yxc.servlet;

import jakarta.servlet.Servlet;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import java.io.IOException;
import java.io.PrintWriter;

/**
 * servlet开发流程
 * 1.创建javaWeb项目，同时将tomcat添加为当前项目的依赖
 * 2.重写service法那个法，service（HttpServletRequest req,HttpServletResponse resp）
 * 3.在service方法中，定义业务处理代码
 * 4.在web.xml中，配置Servlet对应的请求映射路径
 *
 * 1.servlet-api.jar 导入问题
 *      servlet.api 编码的时候需要，运行的时候，在服务器的环境中，由服务软件（Tomcat）提供
 *      因此，我们的JavaWeb项目中，在打包/构建的时候，是无需携带servlet-api的jar包+
 * 2.Content-Type 响应头的问题
 *      MIME类型响应头   媒体类型，文件类型，响应的数据类型
 *      MIME类型用于告诉客户端响应的数据是什么类型的数据，客户端一次类型决定采用什么方式解析响应体
 **/
public class UserServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //1.从request对象中获取请求中的任何信息（username参数）
        String username = req.getParameter("username");  //根据参数名获取参数值，无论参数是url？后还是在请求体中
        //2.处理业务的代码
        String info = "<h1>Yes<h1>";
        if ("yxc".equals(username)) {
            info = "<h1>No<h1>";
        }
        //3.将要响应的数据放入response
        //应该设置Content-Type响应头
//        resp.setHeader("Content-Type", "text/html");
        resp.setContentType("text/html;charset=utf-8");
        PrintWriter out = resp.getWriter();  //该方法返回的是一个向响应体中打印字符串的 打印流
        out.write(info);
    }
}
